<?php
require_once 'db_class.php';
//-------------------------------------------
//		Klasa odpowiadająca za obsługę zapytań użytkownika
//-------------------------------------------

class Uzytkownik_class
{
	//dane do logowania
	private $login;
	private $haslo;
	private $ostatnie_logowanie;
	//dodatkowo do rejestracji 
	private $id_osoba;
	private $email;
	private $data_rejestracji; //pole ukryte w formularzu
	//
	private $imie;
	private $nazwisko;
	private $plec;
	private $data_urodzenia;
	private $imie_matki;
	private $nazwisko_panienskie;
	private $imie_ojca;
	//powysylac tutaj dane z funkcji 


//-----------------------------------------
//		Logowanie
//----------------------------------------
	public function Zaloguj($login,$haslo)
	{
	//przeniesc wyswietlanie bledow do login.php
		// startujemy sesje
		session_start();
		// jeśli nie ma jeszcze sesji "logged_in" i "user_id" to wypełniamy je domyślnymi danymi
		if(!isset($_SESSION['logged_in'])) 
		{
			$_SESSION['logged_in'] = false;
			$_SESSION['user_id'] = -1;
			$_SESSION['login'] = 'Niezalogowany';
		}
			
		$db = new DB_class();
		$db->connect();
				// sprawdzamy czy user nie jest przypadkiem zalogowany
				if(!$_SESSION['logged_in']) 
				{
					// jeśli zostanie naciśnięty przycisk "Zaloguj"
					if(isset($login))
					{
						//filtrujemy dane
								$login = $db->filtruj($login);  //$this->login
								$haslo = $db->filtruj($haslo); //$this->haslo
								$timestamp = time(); //czas zalogowania
						//kodujemy hasło
						$haslo = $db->koduj_dane($haslo);
				 
						// sprawdzamy prostym zapytaniem sql czy podane dane są prawidłowe
						$db->query("SELECT `login` FROM `uzytkownik` WHERE `login` = '{$login}' AND `haslo` = '{$haslo}' LIMIT 1");

						if($db->countRows()>0)
						{
							// jeśli tak to ustawiamy sesje "logged_in" na true oraz do sesji "user_id" wstawiamy id usera
							$dbdata = $db->loadRows(); 
							$_SESSION['logged_in'] = true;
							$_SESSION['user_id'] = $dbdata[0]['login']; //$this->login
							$_SESSION['login'] = $dbdata[0]['login']; //$this->login

							$db->query("UPDATE `uzytkownik` SET `ostatnie_logowanie` = '{$timestamp}' WHERE `login` = '{$login}'");
							$db->disconnect();
							//var_dump($dbdata);
							echo '<p>Zalogowano. </p>';
							header("Refresh: 2; URL=index.php");
							//header('Location: index.php');
							exit;
						}
						else 
						{
							echo '<p>Podany login i/lub hasło jest nieprawidłowe.</p>'; 
							header("Refresh: 2; URL=index.php");
							//header("Location: index.php");
							exit;
							
						}
					}	
				}
				else
				{
					echo '<p>Jesteś już zalogowany!</p>';
					header("Refresh: 2; URL=index.php");
					exit;
				}
	}
	
//-----------------------------------------
//		Wylogowanie
//----------------------------------------

	public function Wyloguj()
	{
		//startujemy sesje
		session_start();
		//ustawiamy wartosci domyslne
		if(isset($_SESSION['logged_in'])) 
		{
			$_SESSION['logged_in'] = false;
			$_SESSION['user_id'] = -1;
			$_SESSION['login'] = 'Niezalogowany';
		}
		//wracamy na strone glowna
		header("Location: index.php");
		exit;
	}
	
//-----------------------------------------
//		Czy zalogowany?
//----------------------------------------
	
	// funkcja na sprawdzanie czy user jest zalogowany, jeśli nie to wyświetlamy komunikat
	public function CzyZalogowany()
	{
		if(!isset($_SESSION['logged_in'])) 
		{
			$_SESSION['logged_in'] = ''; //
			$_SESSION['login'] = ''; //
		}
		if(!$_SESSION['logged_in']) 
		{
			return 0;
		}
		return 1;
	}

//-----------------------------------------
//		Rejestracja
//-----------------------------------------
	
		/*public function Zarejestruj($login, $haslo, $email, $imie, $nazwisko, $plec, $data_urodzenia, $imie_ojca, $imie_matki, $nazwisko_panienskie)*/
		/*
		
		INSERT INTO `uzytkownik`(`login`, `haslo`, `id_osoba`, `email`, `data_rejestracji`, `ostatnie_logowanie`) VALUES ([value-1],[value-2],[value-3],[value-4],[value-5],[value-6])
		
		INSERT INTO `osoba`(`imie`, `nazwisko`, `id_osoba`, `data_urodzenia`, `telefon`, `plec`, `zdjecie`, `notatka`, `nazwisko_panienskie`, `data_smierci`) VALUES ([value-1],[value-2],[value-3],[value-4],[value-5],[value-6],[value-7],[value-8],[value-9],[value-10])
		
			($_POST['login']), ($_POST['haslo']), ($_POST['haslo2']), ($_POST['email']), 
			($_POST['email2']), ($_POST['imie']), ($_POST['nazwisko']), ($_POST['plec']), 
			($_POST['data_urodzenia']), ($_POST['imie_ojca']), ($_POST['imie_matki']), 
			($_POST['nazwisko_panienskie'])
		
		///////////////////////////////////////////////////////////////////////////////////////////////////
		SELECT `id_osoba`,`imie`, `nazwisko` FROM `osoba` WHERE `imie`='{$imie}', `nazwisko`='{$nazwisko}', `data_urodzenia`='{$data_urodzenia}', `plec`='{$plec}', `nazwisko_panienskie`='{$nazwisko_panienskie}
		
		INSERT INTO `uzytkownik`(`login`, `haslo`, `email`, `data_rejestracji`) 
		VALUES ('{$login}', '{$haslo}', '{$email}', '{$data_rejestracji}')
		
		INSERT INTO `osoba`(`imie`, `nazwisko`, `id_osoba`, `data_urodzenia`, `plec`, `nazwisko_panienskie`) 
		VALUES ('{$imie}', '{$nazwisko}', '{$id_osoba}', '{$data_urodzenia}', '{$plec}', '{$nazwisko_panienskie}')
		
		*/
	public function Zarejestruj()
	{
	//Dodac walidacje danych, 
		//Sprawdzanie poprawnosci email
		//Dodac pola obowiazkowe
		//przeniesc wyswietlanie bledow do rejestracja.php
	//Skonczyc formularz rejestracyjny
		//Plec => radio
		//Formatowanie daty urodzenia
	//dodac sprawdzanei czy w bazie nie ma juz rekordu o podobnych danych 
	//pododawac przekierowania do glownej/strony logowania
		//Sprawdzac imiona rodzicow
		$db = new DB_class();
		$db->connect();
		
		$login = $db->filtruj($_POST['login']);
		
		if(($_POST['haslo']) != ($_POST['haslo2']))
		{
			echo '<p>Hasła się różnią.</p>'; 
			exit;
		}
		else
		{
			$haslo = $db->koduj_dane($db->filtruj($_POST['haslo']));
		}
		
		if(($_POST['email']) != ($_POST['email2']))
		{
			echo '<p>Adresy e-mail się różnią.</p>'; 
			exit;
		}
		else
		{
			$email = $db->filtruj($_POST['email']);
		}
		
		$data_rejestracji = time();
		
		$imie = $db->filtruj($_POST['imie']);
		$nazwisko = $db->filtruj($_POST['nazwisko']);
		$plec = $db->filtruj($_POST['plec']); //w sumie nie trzeba
		$data_urodzenia = $db->filtruj($_POST['data_urodzenia']);
		//$imie_ojca = $db->filtruj($_POST['imie_ojca']);
		//$imie_matki = $db->filtruj($_POST['imie_matki']);
		$nazwisko_panienskie = $db->filtruj($_POST['nazwisko_panienskie']);
		
		//$db->query("INSERT INTO `uzytkownik`(`login`, `haslo`, `email`, `data_rejestracji`) VALUES ('{$login}', '{$haslo}', '{$email}', '{$data_rejestracji}')");
		$db->query("INSERT INTO `uzytkownik`(`login`, `haslo`, `data_rejestracji`) VALUES ('{$login}', '{$haslo}', '{$data_rejestracji}')");
		if($db->countRows(false)>0)
			echo '<p>Dodano uzytkownika</p>'; 
		//$db->query("INSERT INTO `osoba`(`imie`, `nazwisko`) VALUES ('{$imie}', '{$nazwisko}')");
		$db->query("INSERT INTO `osoba`(`imie`, `nazwisko`, `plec`) VALUES ('{$imie}', '{$nazwisko}', '{$plec}')");
		if($db->countRows(false)>0)
			echo '<p>Dodano do bazy wezlow</p>'; 
	}
	
//Koniec klasy Uzytkonik_class
}

//-----------------------------------------
//		Przyklad uzycia
//-----------------------------------------
/*
$user = new Uzytkownik_class();
$user->Zarejestruj();
$user->Zaloguj($_POST['login'],$_POST['haslo']);
$user->CzyZalogowany();
$user->Wyloguj();
*/
?>